# Minecraft Server Scanner

A small (and inefficient) script to scan IPs for presence of Minecraft servers.
It is not indeded for any practical use. If you are considering large-scale scanning, you ought to look somewhere else. 

## Usage
```bash
chmod +x ./main.py
./main.py -h
```

```bash
usage: Minecraft Server Scanner [-h] [-o OUTPUT_FILE] [-s SEPARATOR] [-t TIMEOUT] [-w WORKER_COUNT] ip_range port_range

Scans IPs from a given range on given ports for presence of Minecraft servers

positional arguments:
  ip_range              Inclusive IP range, ex. 123.123.123.100-123.123.123.200 or 123.123.123.123 if you only need to scan one IP
  port_range            Inclusive port range, ex. 25565-25570 or 25565 if you only need to scan on one port

options:
  -h, --help            show this help message and exit
  -o OUTPUT_FILE, --output-file OUTPUT_FILE
                        Output file path
  -s SEPARATOR, --separator SEPARATOR
                        Field separator to use in the output
  -t TIMEOUT, --timeout TIMEOUT
                        Timeout before dropping a socket connection
  -w WORKER_COUNT, --worker-count WORKER_COUNT
                        Amount of worker processes to use for scanning

Output format is <server_ip>,'<server_name>',<server_version>,<online_player_count>,<max_player_count>, the default ',' separator can be changed with the '-s' flag
```